{# Defines macros for reusable templates. #}
{% macro method(method) -%}
  {% include 'method.template.html' %}
{% endmacro %}

{% macro property(property) -%}
  {% include 'property.template.html' %}
{% endmacro %}

{% macro methodList(methodList) -%}
  {% include 'method-list.template.html' %}
{% endmacro %}

{% macro propertyList(propertyList) -%}
  {% include 'property-list.template.html' %}
{% endmacro %}

{% macro class(class) -%}
  {% include 'class.template.html' %}
{% endmacro %}

<div class="docs-api">
  <h2>
    API reference for Angular Material {$ doc.name $}
  </h2>

  <p class="docs-api-module-import">
    <code>
      import {{$ doc.ngModule.name $}} from '@angular/material';
    </code>
  </p>

  {%- if doc.services.length -%}
    <h3 class="docs-api-h3">Services</h3>
    {% for service in doc.services %}
      {$ class(service) $}
    {% endfor %}
  {%- endif -%}


  {%- if doc.directives.length -%}
    <h3 class="docs-api-h3">Directives</h3>
    {% for directive in doc.directives %}
      {$ class(directive) $}
    {% endfor %}
  {%- endif -%}

  {%- if doc.additionalClasses.length -%}
    <h3 class="docs-api-h3">Additional classes</h3>
    {% for other in doc.additionalClasses %}
      {$ class(other) $}
    {% endfor %}
  {%- endif -%}
</div>
